Page({
  data: {
    userInfo: {},
    form: {
      input: '',
      input1: '',
      input3: '',
      region: [],
      id:'',
    },
    formData: {
      inputFocus: false,
      input1Focus: false,
    },

  },

  bindRegionChange: function (e) {
    const myForm = this.data.form;
    myForm.region = e.detail.value;
    this.setData({
      form: myForm,
    });
    console.log(this.data.form.region[0]+this.data.form.region[1]+this.data.form.region[2])
  },

  onLoad(option) {
    // console.log(option)
    const address =option.address;
    console.log(address)
    if(address){
 // 将JSON字符串解码回数组
    const checkDishArray = JSON.parse(decodeURIComponent(address));
    const myForm = this.data.form;
    myForm.input=checkDishArray.name;
    myForm.input1=checkDishArray.phone;
    myForm.input3=checkDishArray.address;
    myForm.id=checkDishArray._id;
    myForm.region[0]=checkDishArray.zone;
    myForm.region[1]='';
    myForm.region[2]='';
    // console.log(this.data.form.region)
    this.setData({
      form:myForm
    });
    }
   
    this.init();
  },
  onShow() {},

  init() {
    this.setData({
      initform: this.data.form, // 直接赋值，而不是使用 JSON.stringify
    });
  },

  resetForm() {
    this.setData({
      form: this.data.initform, // 直接使用 initform，而不是 JSON.parse
    });
  },

  showToast(message, type) {
    // 这里应该是显示 Toast 的逻辑，需要根据实际的 Toast 组件进行调整
    console.log(`显示 ${type} 类型的提示：`, message);
  },

  async submitForm(e) {
    // console.log(e.detail.value)
    try {
      // 验证表单数据
      // 这里省略了 Validate 函数的具体实现，您需要根据实际情况来实现
      const validateForm = this.Validate({
        input: {
          required: {
            message: '不能为空哟'
          }
        },
        input1: {
          required: {
            message: '不能为空哟'
          }
        },
        input3: {
          required: {
            message: '不能为空哟'
          }
        },
      
        
      });
      if (!validateForm.checkForm(e)) {
        const error = validateForm.errorList[0];
        this.showToast(error.msg, 'error');
        return false;
      }
      console.log("PPP")
      console.log(this.data.form.region);
      if(this.data.form.region.length<=0){
        this.showToast("请选择地区", 'error');
        return false;
      }

      // 调用云函数
      try {
        const zone=this.data.form.region[0]+this.data.form.region[1]+this.data.form.region[2];
        const name=this.data.form.input;
        const phone=this.data.form.input1;
        const address=this.data.form.input3;
        const id=this.data.form.id;
        const res = await wx.cloud.callFunction({
          name: 'address',
          data: {
            name: name,
            phone: phone,
            address:address,
            zone:zone,
            id:id
          }
        });
        console.log(res)
        if(res.result.code===0){
           wx.showToast({
                      title: res.result.message,
                      icon: 'success'
                    });
            console.log("更新成功");
            this.resetForm();

            wx.navigateBack({
              delta: 1
          });

        }else{
          wx.showToast({
                      title: res.result.message,
                      icon: 'error'
                    });
        }
        
      } catch (error) {
        console.log("调用云函数出错"+error);
      }
    } catch (error) {
      this.showToast('网络请求失败，请稍后再试。', 'error');
      console.error('提交表单时发生错误:', error);
    }
  },
});